package com.umpay.dto.merAccess.req.quickpayment;

import com.umpay.annotation.Pattern;
import com.umpay.verify.Verifiable;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;

public class QuickPaymentConfirmReq implements Verifiable{

	@Pattern(message = "商户通知地址格式不正确")
	private String notify_url;	//商户通知地址
	
	@NotEmpty(message = "商户编号不能为空")
	@Pattern(message="商户号格式不正确")
	protected String mer_id;
	
	@NotEmpty(message = "版本号不能为空")
	@Pattern(message="版本号格式不正确")
	protected String version;
	
	@NotNull(message = "商户流水号不能为空")		
	@Pattern(message = "商户流水号格式不正确")
	private String mer_trace;
	
	@NotNull(message = "订单号不能为空")		
	@Pattern(message = "订单号格式不正确")
	private String trade_no;
	
	@NotNull(message = "金额不能为空")		
	@Pattern(message = "金额格式不正确")
	private String amount;
	
	@NotNull(message = "验证码不能为空")		
	@Pattern(message = "验证码格式不正确")
	private String verify_code;
	
	@NotNull(message = "银行预留手机号不能为空")		
	@Pattern(message = "银行预留手机号格式不正确")
	private String bank_mobile_id;
	
	@Pattern(message = "卡号格式不正确")
	private String card_id;
	
	@Pattern(message = "持卡人姓名格式不正确")
	private String card_holder;
	
	@Pattern(message = "证件类型格式不正确")
	private String identity_type;
	
	@Pattern(message = "证件号格式不正确")
	private String identity_code;
	
	@Pattern(message = "信用卡有效期格式不正确")
	private String valid_date;
	
	@Pattern(message = "cvv2格式不正确")
	private String cvv2;
	
	@Pattern(message = "支付协议号格式不正确")
	private String p_agreement_id;

	private String accessName;
	
	private String accessType;

	private String depBankMerId;
	
	public String getMer_id() {
		return mer_id;
	}

	public void setMer_id(String mer_id) {
		this.mer_id = mer_id;
	}

	public String getVersion() {
		return version;
	}

	public void setVersion(String version) {
		this.version = version;
	}

	public String getNotify_url() {
		return notify_url;
	}

	public void setNotify_url(String notify_url) {
		this.notify_url = notify_url;
	}

	public String getMer_trace() {
		return mer_trace;
	}

	public void setMer_trace(String mer_trace) {
		this.mer_trace = mer_trace;
	}

	public String getTrade_no() {
		return trade_no;
	}

	public void setTrade_no(String trade_no) {
		this.trade_no = trade_no;
	}

	public String getAmount() {
		return amount;
	}

	public void setAmount(String amount) {
		this.amount = amount;
	}

	public String getVerify_code() {
		return verify_code;
	}

	public void setVerify_code(String verify_code) {
		this.verify_code = verify_code;
	}

	public String getBank_mobile_id() {
		return bank_mobile_id;
	}

	public void setBank_mobile_id(String bank_mobile_id) {
		this.bank_mobile_id = bank_mobile_id;
	}

	public String getCard_id() {
		return card_id;
	}

	public void setCard_id(String card_id) {
		this.card_id = card_id;
	}

	public String getCard_holder() {
		return card_holder;
	}

	public void setCard_holder(String card_holder) {
		this.card_holder = card_holder;
	}

	public String getIdentity_type() {
		return identity_type;
	}

	public void setIdentity_type(String identity_type) {
		this.identity_type = identity_type;
	}

	public String getIdentity_code() {
		return identity_code;
	}

	public void setIdentity_code(String identity_code) {
		this.identity_code = identity_code;
	}

	public String getValid_date() {
		return valid_date;
	}

	public void setValid_date(String valid_date) {
		this.valid_date = valid_date;
	}

	public String getCvv2() {
		return cvv2;
	}

	public void setCvv2(String cvv2) {
		this.cvv2 = cvv2;
	}

	public String getP_agreement_id() {
		return p_agreement_id;
	}

	public void setP_agreement_id(String p_agreement_id) {
		this.p_agreement_id = p_agreement_id;
	}
	
	public String getAccessName() {
		return accessName;
	}

	public void setAccessName(String accessName) {
		this.accessName = accessName;
	}

	public String getAccessType() {
		return accessType;
	}

	public void setAccessType(String accessType) {
		this.accessType = accessType;
	}

	public String getDepBankMerId() {
		return depBankMerId;
	}

	public void setDepBankMerId(String depBankMerId) {
		this.depBankMerId = depBankMerId;
	}

	@Override
	public String toString() {
		return "QuickPaymentConfirmReq [notify_url=" + notify_url + ", mer_id=" + mer_id + ", version=" + version
				+ ", mer_trace=" + mer_trace + ", trade_no=" + trade_no + ", amount=" + amount + ", verify_code="
				+ verify_code + ", bank_mobile_id=" + bank_mobile_id + ", card_id=" + card_id + ", card_holder="
				+ card_holder + ", identity_type=" + identity_type + ", identity_code=" + identity_code
				+ ", valid_date=" + valid_date + ", cvv2=" + cvv2 + ", p_agreement_id=" + p_agreement_id
				+ ", accessName=" + accessName + ", accessType=" + accessType + ", depBankMerId=" + depBankMerId + "]";
	}
	
}
